<?php
	class CommonFunction {

		/**
		* 功能：用于数据的分页展示
		* 参数：$page ，表示当前页的页码
		 		$msg_count ，表示数据总数量
				$pagesize ，表示每页显示的数量
				$url ，表示页码的超链中除了page参数之外的其它参数。
				例如：$url = "?c=$_GET[c]&a=$_GET[a]$tid=1";
		* 返回：返回表示分页的字符串。在调用页面直接$pagestring .= 即可。
		*/
		function show_page_msg($page , $msg_count , $pagesize , $term) {
			$page_count = ceil($msg_count/$pagesize);
			$nextpage = $page+1;
			$lastpage = $page-1;

			if($page > $page_count) $page = $page_count;
      
	
	  
			$pagestring = '';
			$pagestring .=  "<ul class=\"pageallowed\">总数:$msg_count &nbsp;&nbsp;&nbsp;页数:$page/$page_count &nbsp;&nbsp;&nbsp;
			 &nbsp;&nbsp;";
//<li ><a href='javascript:void(0)' onclick='select_vip_table(".$term.",1,1)' >首页</a></li>
			if($page>1) $pagestring .=  "<li  onclick='select_vip_table(".$term.",".$lastpage.",1)'><<</li>&nbsp;&nbsp;";
		    else $pagestring .=  "<li><<</li>&nbsp;&nbsp;";

			 if($page<5) $startpage=1;
			 if($page>=5 && $page<($page_count-5)) $startpage=$page-4;
			 if($page>=($page_count-5) && $page>5) $startpage=$page_count-9;
			 if($page_count<=10) $startpage=1;

			 if($page<5){
				if($page_count>=10) $endpage=10;
				else $endpage=$page_count;
			 }

			 if($page>=($page_count-5)) $endpage=$page_count;
			 if($page>=5 && $page<($page_count-5)) $endpage=$page+5;

			 for($i=$startpage;$i<=$endpage;$i++){
				if($page == $i) $pagestring .=  "<li class=\"cur\">$i</li> &nbsp;&nbsp;";
				else $pagestring .=  "<li onclick='select_vip_table(".$term.",".$i.",1)'>$i</li>&nbsp;&nbsp;";
			 }

		if($page < $page_count) $pagestring .= "<li onclick='select_vip_table(".$term.",".$nextpage.",1)'>>></li>&nbsp;&nbsp;";
			else $pagestring .=  "<li >>></li>&nbsp;&nbsp;";

			$pagestring .=  "</ul>&nbsp;&nbsp;";
			return $pagestring;
		}


		//过滤掉某个字符串中的所有html标记的函数。常用！！！
		function filter_html($str){
			$returnstr = preg_replace('/<[^>]+>/i','',$str);
			return $returnstr;
		}

		//使用textarea的时候过滤掉危险html标记
		function filter_input($str) {
			$returnstr = preg_replace('/<script[^>]*>[^<]*<\/script>/i','',$str);
			$returnstr = str_ireplace(chr(10).chr(13),"<br>",$returnstr);
			$returnstr = str_ireplace('>','&gt;',$returnstr);
			$returnstr = str_ireplace('<','&lt;',$returnstr);
			return $returnstr;
		}


		//将转换后标记恢复到原来状态
		function return_input($str) {
			$returnstr = str_ireplace('&lt;','<',$str);
			$returnstr = str_ireplace('&gt;','>',$returnstr);
			return $returnstr;
		}





		//切割中文字符串函数，不会发生切割半个中文的情况。常用！！！
		function substrcn_utf8($str , $len , $dot = '') {
			$patten = "/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|\xe0[\xa0-\xbf][\x80-\xbf]|[\xe1-\xef][\x80-\xbf][\x80-\xbf]|\xf0[\x90-\xbf][\x80-\xbf][\x80-\xbf]|[\xf1-\xf7][\x80-\xbf][\x80-\xbf][\x80-\xbf]/";

			preg_match_all($patten, $str, $regs);

			$v = 0; $s = '';
			for($i=0; $i<count($regs[0]); $i++)
			{
			    (ord($regs[0][$i]) > 129) ? $v += 2 : $v++;
			    $s .= $regs[0][$i];
				if($v >= $len * 2)
				{
				        $s .= $dot;
				break;
				}
			}
			return $s;
		}





		//获取用户IP（1）
		function get_client_ip() {
		    if($_SERVER["HTTP_X_FORWARDED_FOR"]){
		        $ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
		    }

		    elseif($_SERVER["HTTP_CLIENT_IP"]){
		        $ip = $_SERVER["HTTP_CLIENT_IP"];
		    }

		    elseif ($_SERVER["REMOTE_ADDR"]){
		        $ip = $_SERVER["REMOTE_ADDR"];
		    }

		    elseif (getenv("HTTP_X_FORWARDED_FOR")){
		        $ip = getenv("HTTP_X_FORWARDED_FOR");
		    }

		    elseif (getenv("HTTP_CLIENT_IP")){
		        $ip = getenv("HTTP_CLIENT_IP");
		    }

		    elseif (getenv("REMOTE_ADDR")){
		        $ip = getenv("REMOTE_ADDR");
		    }

		    else{
		        $ip = false;
		    }
		    return $ip;
		}




	}
?>